package com.touchwisdom.fetch.core.model.base;

import com.jfinal.autotable.AutoColumn;
import com.touchwisdom.modular.common.model.BaseEntity;

@SuppressWarnings({ "serial", "unchecked" })
public class BaseFetchConfig<M extends BaseFetchConfig<M>> extends BaseEntity<M> {
	public M setTaskId(java.lang.String taskId) {
		set("taskId", taskId);
		return (M) this;
	}

	@AutoColumn(length = 32, nullable = true)
	public java.lang.String getTaskId() {
		return get("taskId");
	}

	public M setCantHaveCSVs(java.lang.String cantHaveCSVs) {
		set("cantHaveCSVs", cantHaveCSVs);
		return (M) this;
	}

	@AutoColumn(length = 128, nullable = false)
	public java.lang.String getCantHaveCSVs() {
		return getStr("cantHaveCSVs");
	}

	public M setMustHaveCSVs(java.lang.String mustHaveCSVs) {
		set("mustHaveCSVs", mustHaveCSVs);
		return (M) this;
	}

	@AutoColumn(length = 128, nullable = false)
	public java.lang.String getMustHaveCSVs() {
		return getStr("mustHaveCSVs");
	}

	public M setCronTime(java.lang.String cronTime) {
		set("cronTime", cronTime);
		return (M) this;
	}

	@AutoColumn(length = 128, nullable = false)
	public java.lang.String getCronTime() {
		return getStr("cronTime");
	}

	public M setBatchSize(java.lang.Integer batchSize) {
		set("batchSize", batchSize);
		return (M) this;
	}

	@AutoColumn(nullable = false, value = "100")
	public java.lang.Integer getBatchSize() {
		return getInt("batchSize");
	}

	@AutoColumn(nullable = false, value = "1")
	public Boolean isBreaking() {
		return this.getBoolean("breaking");
	}

	public M setBreaking(java.lang.Boolean breaking) {
		set("breaking", breaking);
		return (M) this;
	}

	@AutoColumn(nullable = false, value = "4096")
	public Integer getMinDocWords() {
		return this.getInt("minDocWords");
	}

	public M setMinDocWords(java.lang.Integer minDocWords) {
		set("minDocWords", minDocWords);
		return (M) this;
	}
}